The present invention is related to the field of optically encoding information. More specifically, the present invention is directed to a two-dimensional matrix code, a method for using the code, and a device for reading the code.
Machine readable codes, generically known as xe2x80x9cbar codes,xe2x80x9d have been developed to allow coded objects to be tracked, controlled or manipulated. Commonly used codes store information according to variations of optical properties, and are xe2x80x9creadxe2x80x9d using optical devices that either scan or image the code. Increased computing and automation capacity has made it possible to incorporate bar code technology into a wide variety of commercial and industrial applications. Early applications included the automating of retail sales and inventory control, the tracking individual items through mail systems, and automating of manufacturing activities. Recent changes in business practices have combined the integration of warehouse management, order filling, shipping and delivery, along with computer-based ordering, to provide for rapid turn around of consumer orders of everything from books to groceries. Thus bar code technologies which at first aided standard services are now enabling new and faster methods of providing services, which in turn spurs the development of new technologies to fulfill even more requirements of object identification.
Optical bar codes store information according to spatial variations of surface optical properties, including but not limited to reflectivity, color, and absorption. Bar codes are usually imparted onto surfaces through a printing process which results in a pattern having the required spatial optical property variation. The information density is ultimately limited by the resolution of the printing process, which may include such factors as how the minimum line width or dot resolution depend on how the ink is transferred and dries on the surface, and the ability to correct for errors due to surface or ink inconsistencies. Aspects of bar codes technology which need be considered include the physical layout of information within the code, optical and software demands for reading the code and printing requirements that will aid in producing a readable bar code. Due to the wide variety of applications, bar codes have been developed to contain varying amounts of information and to be compatible with differing printing and reading requirements. Many codes have been developed to be used under varying conditions, and thus are optimized to produce reliable, nearly error-free machine reading under limited conditions.
Most bar codes can be categorized as being either one-dimensional, stacked, or matrix codes according to how the information is stored, although some codes combine elements from more than one of these categories, while others use half-tones, colors or other techniques to increase the information density and improve reliability. One-dimensional codes usually store information according to variations in the width of printed bars, which can be arranged in many configurations. One-dimensional codes lend themselves to reading by scanning, in which the code and an optical reader are moved relative to one another in a preferred direction. During scanning, temporal variations of reflected light is detected which is then used to determine variations of code bar widths. Linear one-dimensional bar codes consist of bars of varying width and spacing arranged in a rectangular space. Other one-dimensional codes have been developed which encode data in concentric circular rings and as radial spokes in a circular pattern. While one-dimensional codes can be robust, allowing for printing and reading on a wide variety of materials, the information density is usually low and there is a limited range of scanning directions and speeds that allow for accurate reading of the code. To account for scan speed, these codes usually incorporate clocking signals within the bar code to determining scan speed as well as code content.
Stacked or multi-row codes are essentially multiple, one-dimensional codes arranged adjacent to each other. These codes have increased information density at the expense of greater scanning complexity. Stacked codes are usually rectangular and have the appearance of having a preferred scanning direction, as with a one-dimensional code, but also have information encoded in a direction perpendicular to the preferred direction. They can be read either by scanning systems that sweep perpendicular to the scanning direction or with imaging systems. While stacked codes have greater information density than one-dimensional codes, scanned codes have the same user problems with regards to scanning as one-dimensional codes, and may also incorporate clocking signals within. While imaging has the advantages inherent in acquiring the entire code at once and thus may be independent of the code position, interpreting the code content of the image depends on the orientation of the code relative to the imaging optics, uniformity of lighting, and other properties which must be determined or accounted for. In addition, imaging such code can be problem, as the codes are frequently affixed to goods that are moving, and thus the imaging system must accommodate variations in position, orientation and speed while providing the resolution required to read the code.
Matrix codes arrange information over a two-dimensional area, usually over a regular square or hexagonal grid. Common features of matrix codes are data cells arranged in a predetermined grid or array and targets for code recognition and orientation. Reading of matrix codes is accomplished with imaging optics which take in the entire code at once. Many applications involve reading of moving codes had thus have many of the problems discussed in the previous paragraph. Determining the location, orientation and optical properties of each data cell can be achieved with these codes under limited, often controlled setting. In addition, several codes require the use of special labels to achieve a required level of robustness.
Although bar code technology has been developed to meet a variety of needs, prior art bar codes are still difficult to read, requiring expensive and sometimes hard-to-use equipment. Scanning requires the user to maintain an orientation and speed which can be difficult for even trained personnel, while imaging require expensive optics for code reading. The widespread acceptance and availability of computers and computer networks provides an opportunity for consumers to use bar codes as a computer interface, if a reliable, easy to use bar code system were available. Thus there is a need for code that is optimized to store information for computers at high densities on common materials, and is easily recognizable by a consumer. Specifically what is needed is an optically readable, two-dimensional matrix optical matrix code that can be printed using standard printing technologies, in any orientation to other adjacent printed matter, and which can be acquired easily, robustly and positively in one action by a user. Also, the code should not have a perceived rotational orientation and is should be capable of being read without regard to rotational orientation, resulting in a code with which users do not waste time trying to determine the proper way to acquire the code. Additionally, reading of prior art codes is problematic, requiring either expensive imaging hardware or touchy hand held scanners. A device and method of reading a code is also needed that is both easy to use and inexpensive hand-held imaging device for reading matrix codes.
One aspect of the present invention is to provide matrix code and method of using the code that is both compact and is easily distinguishable among print media. One embodiment stores data in a hexagonal grid having a target structure embedded within. A portion of the target structure has predominant radial features extending from the code periphery towards the center and surrounded by white space, resulting in a symbol having easily recognizable shape, thus allowing consumers to identify the brand of code. It is another aspect of the present invention to provide a matrix code having data and targets contained within a circular or slightly elliptical area that includes white space surrounding the target to make the code visually distinct.
It is another aspect of the present invention to provide a matrix code that can be incorporated into common materials such as newsprint. Several aspects of the present invention allow for improved reliability at high data densities using printing techniques that are compatible with standard printing practices. In one aspect, targets for fine positioning are incorporated into the code and essentially surround the data. In another aspect, the layout of data cells is chosen to provide the greatest benefit from error correction schemes. In yet another aspect of the present invention, white space is incorporated within the code to reduce errors resulting from ink bleed, such that no data cell is surrounded completely either by other data cells or other space that is black. Another aspect provides a method for encoding a number using an error correction scheme into a second number, which is encoded through the printing within data cell areas. One embodiment incorporates (19,11) Reed-Solomon error correction algorithms. In another embodiment encryption is used to protect the encoded information. In another aspect of the present invention a matrix code is provided with reserved white space among data cells.
Another aspect of the present invention is to provide a matrix code that facilitates consumer use by not having a preferred orientation for reading. A target is embedded within the data areas of the code and is surrounded by reserved white space to make both the target and code distinct. In one aspect, the target is both radial and curved, presenting an image that is roughly circular with no preferred rotational orientation. In one embodiment, the code is less than one centimeter across, allowing contact reading using a finder of the present invention.
Yet another aspect of the present invention is to present a matrix code and method in which data is segmented into noncontiguous areas separated by the radial target features.
Another aspect of the present invention is to provide a matrix code that can be read with printing or reading errors of up to 15% in any direction.
It is another aspect of the invention to incorporate quality control areas within a matrix code for determining the print and reading quality of the code.
In addition, several aspects provide methods for producing matrix codes of the present invention.
It is another aspect of the present invention to provide a finder for reading codes. In one embodiment the finder includes a contact switch for initiating the reading process, optics and sensors for obtaining a digital image of the code, a computer for performing image processing and reading of the code, memory for storing codes, and wireless communications for transmitting codes to external devices.
In another aspect of the present invention, a method of using a finder in the reading of codes is provided. In one embodiment, acquisition of the code is provided with a finder that then transmits the code.
Another aspect of the present invention provides for a finder that can receive signals for modifying finder operation or memory content.
It is an aspect of the finder an method of using same to allow for code acquisition without regard to rotational orientation.
Yet another aspect of the present invention is to provide a finder that is inexpensive and easy to manufacture.
Another aspect of the present invention is to provide a finder that is portable. In one embodiment, the finder is incorporated into other electronic or non-electronic devices for accessibility of the finder.
Another aspect of the present invention is to provide a finder for acquiring codes that is easy to use.
A further understanding of the invention can be had from the detailed discussion of specific embodiments below. For purposes of clarity, this discussion refers to devices, methods, and concepts in terms of specific examples. However, the method of the present invention may operate with a wide variety of types of devices. It is therefore intended that the invention not be limited by the discussion of specific embodiments.
For purposes of clarity, the invention is described in terms of systems that include many different innovative components and innovative combinations of components. No inference should be taken to limit the invention based on any illustrative embodiment of this specification.